// 该文件是对axios的拦截器进行处理
import axios from 'axios';
// 请求拦截器
axios.interceptors.request.use(
    // 请求拦截处理部分
    // 使用场景:判定权限,loading请求提示,token(jwt)同意携带等
    (config => {
        //请求拦截处理代码
        //使用场景：权限判断、Loading请求提示、token（jwt---json web token）统一携带
        const jwt = localStorage.getItem('jwt')
        if (jwt) {
            //jwt追加到头信息中,后端接口中要求的
            config.headers.Authorization = jwt
        }
        return config
    })
)
// 响应拦截器
axios.interceptors.response.use(response => {
        // 响应拦截处理部分
        // 保存权限信息,去除loading提示,access_token=7200,保存token
        if (response.data.context && response.data.context.jwt) {
            localStorage.setItem('jwt', response.data.context.jwt)
        }
        // 保存权限
        if (response.data.context && response.data.context.acl) {
            localStorage.setItem('acl', JSON.stringify(response.data.context.acl))
        }
        return response
    })

export default axios